/*
 * Powered By [Seven]
 * Since 2016 - 2019
 */


package com.czmh.etc.onlinepubsys.model;
import java.util.HashSet;
import java.util.Set;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
/**
 * 
 * @描述：
 * @author： Seven.
 * @版本：V1.0
 */
public class EtcCar extends BaseModel {
	
	//alias
	public static final String TABLE_ALIAS = "EtcCar";
	public static final String ALIAS_ID = "主键ID";
	public static final String ALIAS_CARLICENSENUM = "车牌号码";
	public static final String ALIAS_CARLICENSECOLOR = "车牌底色";
	public static final String ALIAS_CARCOLOR = "车辆颜色";
	public static final String ALIAS_CARCLASS = "车辆车型";
	public static final String ALIAS_CAROPERA = "关联车辆运营类型";
	public static final String ALIAS_CARENGINENUM = "发动机号";
	public static final String ALIAS_CARMODEL = "车辆厂牌型号";
	public static final String ALIAS_CARWEIGHT = "客车座位数/货车吨位";
	public static final String ALIAS_VEHWEIGHT = "车长";
	public static final String ALIAS_VEHHEIGHT = "车高";
	public static final String ALIAS_VEHWIDTH = "车宽";
	public static final String ALIAS_WHEELNUM = "轮数";
	public static final String ALIAS_WHEELBASE = "轴距";
	public static final String ALIAS_AXLENUM = "轴数";
	public static final String ALIAS_USER_ID = "用户id";
	public static final String ALIAS_CREATE_TIME = "创建时间";
	public static final String ALIAS_UPDATE_TIME = "更新时间";
	 
	//可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息
	//columns START
	private java.lang.String id;
	private java.lang.String carlicensenum;
	private java.lang.String carlicensecolor;
	private java.lang.String carcolor;
	private java.lang.String carclass;
	private java.lang.String caropera;
	private java.lang.String carenginenum;
	private java.lang.String carmodel;
	private java.lang.String carweight;
	private java.lang.String vehweight;
	private java.lang.String vehheight;
	private java.lang.String vehwidth;
	private java.lang.String wheelnum;
	private java.lang.String wheelbase;
	private java.lang.String axlenum;
	private java.lang.String user_id;
	private java.util.Date create_time;
	private java.util.Date update_time;
	//columns END

	public EtcCar(){
	}

	public EtcCar(
		java.lang.String id
	){
		this.id = id;
	}

	/**  
	 * 设置主键ID  
	 * @param id 主键ID  
	 */  
	public void setId(java.lang.String id) {
		this.id = id;
	}
	
	/**  
	 * 获取主键ID   
	 * @return id 主键ID   
	 */
	public java.lang.String getId() {
		return this.id;
	}
	/**  
	 * 设置车牌号码  
	 * @param carlicensenum 车牌号码  
	 */  
	public void setCarlicensenum(java.lang.String carlicensenum) {
		this.carlicensenum = carlicensenum;
	}
	
	/**  
	 * 获取车牌号码   
	 * @return carlicensenum 车牌号码   
	 */
	public java.lang.String getCarlicensenum() {
		return this.carlicensenum;
	}
	/**  
	 * 设置车牌底色  
	 * @param carlicensecolor 车牌底色  
	 */  
	public void setCarlicensecolor(java.lang.String carlicensecolor) {
		this.carlicensecolor = carlicensecolor;
	}
	
	/**  
	 * 获取车牌底色   
	 * @return carlicensecolor 车牌底色   
	 */
	public java.lang.String getCarlicensecolor() {
		return this.carlicensecolor;
	}
	/**  
	 * 设置车辆颜色  
	 * @param carcolor 车辆颜色  
	 */  
	public void setCarcolor(java.lang.String carcolor) {
		this.carcolor = carcolor;
	}
	
	/**  
	 * 获取车辆颜色   
	 * @return carcolor 车辆颜色   
	 */
	public java.lang.String getCarcolor() {
		return this.carcolor;
	}
	/**  
	 * 设置车辆车型  
	 * @param carclass 车辆车型  
	 */  
	public void setCarclass(java.lang.String carclass) {
		this.carclass = carclass;
	}
	
	/**  
	 * 获取车辆车型   
	 * @return carclass 车辆车型   
	 */
	public java.lang.String getCarclass() {
		return this.carclass;
	}
	/**  
	 * 设置关联车辆运营类型  
	 * @param caropera 关联车辆运营类型  
	 */  
	public void setCaropera(java.lang.String caropera) {
		this.caropera = caropera;
	}
	
	/**  
	 * 获取关联车辆运营类型   
	 * @return caropera 关联车辆运营类型   
	 */
	public java.lang.String getCaropera() {
		return this.caropera;
	}
	/**  
	 * 设置发动机号  
	 * @param carenginenum 发动机号  
	 */  
	public void setCarenginenum(java.lang.String carenginenum) {
		this.carenginenum = carenginenum;
	}
	
	/**  
	 * 获取发动机号   
	 * @return carenginenum 发动机号   
	 */
	public java.lang.String getCarenginenum() {
		return this.carenginenum;
	}
	/**  
	 * 设置车辆厂牌型号  
	 * @param carmodel 车辆厂牌型号  
	 */  
	public void setCarmodel(java.lang.String carmodel) {
		this.carmodel = carmodel;
	}
	
	/**  
	 * 获取车辆厂牌型号   
	 * @return carmodel 车辆厂牌型号   
	 */
	public java.lang.String getCarmodel() {
		return this.carmodel;
	}
	/**  
	 * 设置客车座位数/货车吨位  
	 * @param carweight 客车座位数/货车吨位  
	 */  
	public void setCarweight(java.lang.String carweight) {
		this.carweight = carweight;
	}
	
	/**  
	 * 获取客车座位数/货车吨位   
	 * @return carweight 客车座位数/货车吨位   
	 */
	public java.lang.String getCarweight() {
		return this.carweight;
	}
	/**  
	 * 设置车长  
	 * @param vehweight 车长  
	 */  
	public void setVehweight(java.lang.String vehweight) {
		this.vehweight = vehweight;
	}
	
	/**  
	 * 获取车长   
	 * @return vehweight 车长   
	 */
	public java.lang.String getVehweight() {
		return this.vehweight;
	}
	/**  
	 * 设置车高  
	 * @param vehheight 车高  
	 */  
	public void setVehheight(java.lang.String vehheight) {
		this.vehheight = vehheight;
	}
	
	/**  
	 * 获取车高   
	 * @return vehheight 车高   
	 */
	public java.lang.String getVehheight() {
		return this.vehheight;
	}
	/**  
	 * 设置车宽  
	 * @param vehwidth 车宽  
	 */  
	public void setVehwidth(java.lang.String vehwidth) {
		this.vehwidth = vehwidth;
	}
	
	/**  
	 * 获取车宽   
	 * @return vehwidth 车宽   
	 */
	public java.lang.String getVehwidth() {
		return this.vehwidth;
	}
	/**  
	 * 设置轮数  
	 * @param wheelnum 轮数  
	 */  
	public void setWheelnum(java.lang.String wheelnum) {
		this.wheelnum = wheelnum;
	}
	
	/**  
	 * 获取轮数   
	 * @return wheelnum 轮数   
	 */
	public java.lang.String getWheelnum() {
		return this.wheelnum;
	}
	/**  
	 * 设置轴距  
	 * @param wheelbase 轴距  
	 */  
	public void setWheelbase(java.lang.String wheelbase) {
		this.wheelbase = wheelbase;
	}
	
	/**  
	 * 获取轴距   
	 * @return wheelbase 轴距   
	 */
	public java.lang.String getWheelbase() {
		return this.wheelbase;
	}
	/**  
	 * 设置轴数  
	 * @param axlenum 轴数  
	 */  
	public void setAxlenum(java.lang.String axlenum) {
		this.axlenum = axlenum;
	}
	
	/**  
	 * 获取轴数   
	 * @return axlenum 轴数   
	 */
	public java.lang.String getAxlenum() {
		return this.axlenum;
	}
	/**  
	 * 设置用户id  
	 * @param user_id 用户id  
	 */  
	public void setUser_id(java.lang.String user_id) {
		this.user_id = user_id;
	}
	
	/**  
	 * 获取用户id   
	 * @return user_id 用户id   
	 */
	public java.lang.String getUser_id() {
		return this.user_id;
	}
	/**  
	 * 设置创建时间  
	 * @param create_time 创建时间  
	 */  
	public void setCreate_time(java.util.Date create_time) {
		this.create_time = create_time;
	}
	
	/**  
	 * 获取创建时间   
	 * @return create_time 创建时间   
	 */
	public java.util.Date getCreate_time() {
		return this.create_time;
	}
	/**  
	 * 设置更新时间  
	 * @param update_time 更新时间  
	 */  
	public void setUpdate_time(java.util.Date update_time) {
		this.update_time = update_time;
	}
	
	/**  
	 * 获取更新时间   
	 * @return update_time 更新时间   
	 */
	public java.util.Date getUpdate_time() {
		return this.update_time;
	}
	
	private Set etcObus = new HashSet(0);
	public void setEtcObus(Set<EtcObu> etcObu){
		this.etcObus = etcObu;
	}
	
	public Set<EtcObu> getEtcObus() {
		return etcObus;
	}
	
	private Set etcVehiclelicenses = new HashSet(0);
	public void setEtcVehiclelicenses(Set<EtcVehiclelicense> etcVehiclelicense){
		this.etcVehiclelicenses = etcVehiclelicense;
	}
	
	public Set<EtcVehiclelicense> getEtcVehiclelicenses() {
		return etcVehiclelicenses;
	}
	
	private EtcUser etcUser;
	
	public void setEtcUser(EtcUser etcUser){
		this.etcUser = etcUser;
	}
	
	public EtcUser getEtcUser() {
		return etcUser;
	}

	@Override
    public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("id",getId())
			.append("carlicensenum",getCarlicensenum())
			.append("carlicensecolor",getCarlicensecolor())
			.append("carcolor",getCarcolor())
			.append("carclass",getCarclass())
			.append("caropera",getCaropera())
			.append("carenginenum",getCarenginenum())
			.append("carmodel",getCarmodel())
			.append("carweight",getCarweight())
			.append("vehweight",getVehweight())
			.append("vehheight",getVehheight())
			.append("vehwidth",getVehwidth())
			.append("wheelnum",getWheelnum())
			.append("wheelbase",getWheelbase())
			.append("axlenum",getAxlenum())
			.append("user_id",getUser_id())
			.append("create_time",getCreate_time())
			.append("update_time",getUpdate_time())
			.toString();
	}
	
	@Override
    public int hashCode() {
		return new HashCodeBuilder()
			.append(getId())
			.toHashCode();
	}
	
	@Override
    public boolean equals(Object obj) {
		if(obj instanceof EtcCar == false) {
			return false;
		}
		if(this == obj) {
			return true;
		}
		EtcCar other = (EtcCar)obj;
		return new EqualsBuilder()
			.append(getId(),other.getId())
			.isEquals();
	}
}

